<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../assets/img/favicon-144.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../assets/img/favicon-144.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../assets/img/favicon-72.png">
<link rel="apple-touch-icon-precomposed" href="../../assets/img/favicon-32.png">
<link rel="shortcut icon" href="../../assets/img/favicon-32.png">

<link rel="stylesheet" href="../../assets/css/vk.css"/>
<link rel="stylesheet" href="../../assets/css/prism.css"/>


<vk-title>VkPhysicalDeviceFloatControlsPropertiesKHR | NVK</vk-title>

<vk-centered>

  <vk-navigation>
  <vk-search-title>Search</vk-search-title>
  <vk-search>
    <input type="text" id="search" autocomplete="off" />
    <vk-search-results>
      <ol id="search-list">
        <li id="no-search-results">No Results</li>
      </ol>
    </vk-search-results>
  </vk-search>
  <vk-section-title style="margin-top: 1em;">Categories</vk-section-title>
  <vk-categories></vk-categories>
</vk-navigation>


  <vk-struct>

    <vk-name>VkPhysicalDeviceFloatControlsPropertiesKHR</vk-name>

    <vk-description>Structure describing properties supported by VK_KHR_shader_float_controls</vk-description>

    <vk-section-title>Syntax</vk-section-title>
    <vk-syntax>
      <pre><code class="language-js">physicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsPropertiesKHR();
physicalDeviceFloatControlsPropertiesKHR = new VkPhysicalDeviceFloatControlsPropertiesKHR();
physicalDeviceFloatControlsPropertiesKHR = new VkPhysicalDeviceFloatControlsPropertiesKHR(object);</code></pre>
    </vk-syntax>

    <vk-section-title>Stub <vk-property-type type="read-only">read-only</vk-property-type></vk-section-title>
    
    <vk-property-prototype id="expand-code" class="expand-btn"></vk-property-prototype>

    <vk-stub id="code-no-expand" style="display:none;">
      <pre><code class="language-js">let physicalDeviceFloatControlsPropertiesKHR = new VkPhysicalDeviceFloatControlsPropertiesKHR();
physicalDeviceFloatControlsPropertiesKHR.sType;
physicalDeviceFloatControlsPropertiesKHR.pNext;
physicalDeviceFloatControlsPropertiesKHR.separateDenormSettings;
physicalDeviceFloatControlsPropertiesKHR.separateRoundingModeSettings;
physicalDeviceFloatControlsPropertiesKHR.shaderSignedZeroInfNanPreserveFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderSignedZeroInfNanPreserveFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderSignedZeroInfNanPreserveFloat64;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormPreserveFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormPreserveFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormPreserveFloat64;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormFlushToZeroFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormFlushToZeroFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormFlushToZeroFloat64;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTEFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTEFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTEFloat64;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTZFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTZFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTZFloat64;
</code></pre>
    </vk-stub>

    <vk-stub id="code-expanded" style="display:none;">
      <pre><code class="language-js">let physicalDeviceFloatControlsPropertiesKHR = new VkPhysicalDeviceFloatControlsPropertiesKHR();
physicalDeviceFloatControlsPropertiesKHR.sType;
physicalDeviceFloatControlsPropertiesKHR.pNext;
physicalDeviceFloatControlsPropertiesKHR.separateDenormSettings;
physicalDeviceFloatControlsPropertiesKHR.separateRoundingModeSettings;
physicalDeviceFloatControlsPropertiesKHR.shaderSignedZeroInfNanPreserveFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderSignedZeroInfNanPreserveFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderSignedZeroInfNanPreserveFloat64;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormPreserveFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormPreserveFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormPreserveFloat64;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormFlushToZeroFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormFlushToZeroFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderDenormFlushToZeroFloat64;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTEFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTEFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTEFloat64;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTZFloat16;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTZFloat32;
physicalDeviceFloatControlsPropertiesKHR.shaderRoundingModeRTZFloat64;
</code></pre>
    </vk-stub><vk-section-title>Properties</vk-section-title>

    <vk-properties>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>sType</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="number"><a href="../enums/VkStructureType.html">VkStructureType</a></vk-property-type>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>pNext</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="null">null</vk-property-type>
        <vk-property-description></vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>separateDenormSettings</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether the implementation supports separate settings for 16-bit and 64-bit denormals.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>separateRoundingModeSettings</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether the implementation supports separate rounding modes for 16-bit and 64-bit floating point instructions.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderSignedZeroInfNanPreserveFloat16</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether sign of a zero, [eq]##Nan##s and latexmath:[\pm\infty] <i>can</i> be preserved in 16-bit floating-point computations. It also indicates whether the <i>SignedZeroInfNanPreserve</i> execution mode <i>can</i> be used for 16-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderSignedZeroInfNanPreserveFloat32</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether sign of a zero, [eq]##Nan##s and latexmath:[\pm\infty] <i>can</i> be preserved in 32-bit floating-point computations. It also indicates whether the <i>SignedZeroInfNanPreserve</i> execution mode <i>can</i> be used for 32-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderSignedZeroInfNanPreserveFloat64</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether sign of a zero, [eq]##Nan##s and latexmath:[\pm\infty] <i>can</i> be preserved in 64-bit floating-point computations. It also indicates whether the <i>SignedZeroInfNanPreserve</i> execution mode <i>can</i> be used for 64-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderDenormPreserveFloat16</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether denormals <i>can</i> be preserved in 16-bit floating-point computations. It also indicates whether the <i>DenormPreserve</i> execution mode <i>can</i> be used for 16-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderDenormPreserveFloat32</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether denormals <i>can</i> be preserved in 32-bit floating-point computations. It also indicates whether the <i>DenormPreserve</i> execution mode <i>can</i> be used for 32-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderDenormPreserveFloat64</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether denormals <i>can</i> be preserved in 64-bit floating-point computations. It also indicates whether the <i>DenormPreserve</i> execution mode <i>can</i> be used for 64-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderDenormFlushToZeroFloat16</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether denormals <i>can</i> be flushed to zero in 16-bit floating-point computations. It also indicates whether the <i>DenormFlushToZero</i> execution mode <i>can</i> be used for 16-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderDenormFlushToZeroFloat32</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether denormals <i>can</i> be flushed to zero in 32-bit floating-point computations. It also indicates whether the <i>DenormFlushToZero</i> execution mode <i>can</i> be used for 32-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderDenormFlushToZeroFloat64</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether denormals <i>can</i> be flushed to zero in 64-bit floating-point computations. It also indicates whether the <i>DenormFlushToZero</i> execution mode <i>can</i> be used for 64-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderRoundingModeRTEFloat16</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether an implementation supports the round-to-nearest-even rounding mode for 16-bit floating-point arithmetic and conversion instructions. It also indicates whether the <i>RoundingModeRTE</i> execution mode <i>can</i> be used for 16-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderRoundingModeRTEFloat32</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether an implementation supports the round-to-nearest-even rounding mode for 32-bit floating-point arithmetic and conversion instructions. It also indicates whether the <i>RoundingModeRTE</i> execution mode <i>can</i> be used for 32-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderRoundingModeRTEFloat64</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether an implementation supports the round-to-nearest-even rounding mode for 64-bit floating-point arithmetic and conversion instructions. It also indicates whether the <i>RoundingModeRTE</i> execution mode <i>can</i> be used for 64-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderRoundingModeRTZFloat16</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether an implementation supports the round-towards-zero rounding mode for 16-bit floating-point arithmetic and conversion instructions. It also indicates whether the <i>RoundingModeRTZ</i> execution mode <i>can</i> be used for 16-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderRoundingModeRTZFloat32</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether an implementation supports the round-towards-zero rounding mode for 32-bit floating-point arithmetic and conversion instructions. It also indicates whether the <i>RoundingModeRTZ</i> execution mode <i>can</i> be used for 32-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>shaderRoundingModeRTZFloat64</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="boolean">Boolean</vk-property-type>
        <vk-property-description> is a boolean value indicating whether an implementation supports the round-towards-zero rounding mode for 64-bit floating-point arithmetic and conversion instructions. It also indicates whether the <i>RoundingModeRTZ</i> execution mode <i>can</i> be used for 64-bit floating-point types.</vk-property-description>
      </vk-property-entry>
      
    </vk-properties>

    <vk-section-title>Default Properties</vk-section-title>

    <vk-properties>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.prototype.<vk-prototype-name>memoryBuffer</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="arraybuffer"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></vk-property-type>
        <vk-property-description>Native memory reference of the structure.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.<vk-prototype-name>memoryLayout</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="object">Object</vk-property-type>
        <vk-property-description>Object describing the structure's memory layout.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.<vk-prototype-name>byteLength</vk-prototype-name></vk-property-prototype>
        <vk-property-type type="number">Number</vk-property-type>
        <vk-property-description>Total native byte length of the structure.</vk-property-description>
      </vk-property-entry>
    </vk-properties>

    <vk-section-title>Internal Properties</vk-section-title>

    <vk-description>These properties are mainly used by <i>nvk</i> internally.</vk-description>

    <vk-properties>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.<vk-prototype-name>reset</vk-prototype-name></vk-property-prototype>
        <vk-property-description>Resets the native memory of the structure.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.<vk-prototype-name>flush</vk-prototype-name></vk-property-prototype>
        <vk-property-description>Writes the structure's data into the native memory.</vk-property-description>
      </vk-property-entry>
      <vk-property-entry>
        <vk-property-prototype>VkPhysicalDeviceFloatControlsPropertiesKHR.<vk-prototype-name>reflect</vk-prototype-name></vk-property-prototype>
        <vk-property-description>Synchronizes the structure's data with the native memory.</vk-property-description>
      </vk-property-entry>
    </vk-properties>

  </vk-struct>

</vk-centered>

<script>
const IS_ROOT = false;
</script>

<script type="text/javascript" src="../../assets/js/prism.min.js"></script>
<script type="text/javascript" src="../../assets/js/index.js"></script>
